package com.genreate.util.pay.ali.app.domain;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.genreate.util.pay.ali.enums.TimeUnitAliEnum;
import lombok.Data;

/**
 * 支付宝 APP 统一收单交易创建请求参数实体类
 */
@Data
public class AliAppTradeCreate {
    /**
     * 商户网站唯一订单号（必填）
     * 由商家自定义，64个字符以内，仅支持字母、数字、下划线
     */
    @JsonProperty("outTradeNo")
    private String out_trade_no;
    /**
     * 订单总金额（必填）
     * 单位为元，精确到小数点后两位，取值范围[0.01,100000000]
     */
    @JsonProperty("total_amount")
    private String totalAmount;
    /**
     * 订单标题（必填）
     * 不可使用特殊字符，如 /，=，& 等
     */
    private String subject;
    /**
     * 支付宝服务器主动通知商户的回调地址（可选）
     * http/https路径
     */
    @JsonProperty("notifyUrl")
    private String notify_url;
    /**
     * 绝对超时时间（可选）
     * 格式：yyyy-MM-dd HH:mm:ss
     */
    @JsonProperty("timeExpire")
    private String time_expire = TimeUnitAliEnum.HOUR_TWO.getTimeoutStr();
    /**
     * 公用回传参数（可选）
     * 需UrlEncode后传递，支付宝会原样返回
     */
    @JsonProperty("passbackParams")
    private String passback_params;
    /**
     * 订单附加信息
     */
    private String body;
}